/*
	Copyright (C) 2013 Pontificia Universidad Catolica del Peru
	contact: http://avatar.inf.pucp.edu.pe/realidad-aumentada/
	address contact: Av. Universitaria 1801, San Miguel, Lima-Peru.
	
	This file is part of UbicAR PUCP.

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with This program.  If not, see <http://www.gnu.org/licenses/>.
*/
/*
	Authors: Alvaro Roger Agüero Sánchez, Rodolfo Javier Galvez Meza
	Pontificia Universidad Catolica del Peru
	Departamento de Ingeniería
*/

package org.grupoavatar.guiaubicua.punto;

import org.grupoavatar.guiaubicua.R;
import org.grupoavatar.guiaubicua.mix.data.Encuesta;
import org.grupoavatar.guiaubicua.punto.MasterActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class EncuestaIntroScreen extends MasterActivity {

	public static Encuesta encuesta;
	public static boolean encuestaActiva = false;
	//private static EncuestaIntroScreen screen;
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.encuesta_intro_screen);
		//screen = this;
		btnUbicacion.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				Intent intent = new Intent(EncuestaIntroScreen.this, TabUbicacion.class);
				pasarDatos();
				startActivity(intent);
				overridePendingTransition(0, 0);
				finish();
				overridePendingTransition(0, 0);
			}
		});

		btnServicios.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				Intent intent = new Intent(EncuestaIntroScreen.this, TabServicios.class);
				pasarDatos();
				startActivity(intent);
				overridePendingTransition(0, 0);
				finish();
				overridePendingTransition(0, 0);
			}
		});
		
		btnGeneral.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				Intent intent = new Intent(EncuestaIntroScreen.this, TabGeneral.class);
				pasarDatos();
				startActivity(intent);
				overridePendingTransition(0, 0);
				finish();
				overridePendingTransition(0, 0);
			}
		});

		//Cabecera
//		TextView lblNombre = (TextView) findViewById(R.id.lblNombre);
//		lblNombre.setText(poi.getTitle());
//		
//		TextView lblCategoria = (TextView) findViewById(R.id.lblCategoria);
//		lblCategoria.setText(MixContext.getDataSourceName(poi.getDatasource()));
//		
//		ImageView imageCate = (ImageView) this.findViewById(R.id.imgCategoria);
//        Bitmap bitfile_cate = ((ArpucpPOIMarker)poi).getDataSourceCircleIconRA(this.getResources());                
//        imageCate.setImageBitmap(bitfile_cate);
		
        if (!encuestaActiva) {
			//Propios de encuesta
			mostrarIntro();
        } else {
        	mostrarEncuesta();
        }
	}
	
	public static Encuesta getEncuestaActual(){
		return encuesta;
	}
	
	public void mostrarIntro() {
		TextView lblNombreEncuesta = (TextView) findViewById(R.id.txtNombreEncuesta);
		TextView txtDescripcionEncuesta = (TextView) findViewById(R.id.txtDescripcionEncuesta);
		TextView txtFechaInicio = (TextView) findViewById(R.id.txtFechaInicioDetalle);
		TextView txtFechaFin = (TextView) findViewById(R.id.txtFechaFinDetalle);
		
		Button btnInicirEncuesta = (Button) findViewById(R.id.btnIniciarEncuesta);
		btnInicirEncuesta.setEnabled(false);
		
		//encuesta = VInicial.dataView.getEncuesta(poi.getID());		
        if (encuesta != null && !realizoEncuesta()) { //tiene encuesta
	        lblNombreEncuesta.setText(encuesta.getNombre());
	        txtDescripcionEncuesta.setText(encuesta.getDetalle());
	        
	        if (encuesta.getfFin() == null || encuesta.getfFin().equalsIgnoreCase("null")) {
	        	TextView lblFechaFin = (TextView) findViewById(R.id.txtFechaFinTitulo);
	        	lblFechaFin.setVisibility(View.GONE);
	        	txtFechaFin.setVisibility(View.GONE);
	        } else {
	        	txtFechaFin.setText(encuesta.getfFin());
	        }
	        
	        if (encuesta.getfIni() == null || encuesta.getfIni().equalsIgnoreCase("null")) {
	        	TextView lblFechaInicio = (TextView) findViewById(R.id.txtFechaInicioTitulo);
	        	lblFechaInicio.setVisibility(View.GONE);
	        	txtFechaInicio.setVisibility(View.GONE);
	        } else {
	        	txtFechaInicio.setText(encuesta.getfIni());
	        }
	        
	        btnInicirEncuesta.setEnabled(true);
	        
	        btnInicirEncuesta.setOnClickListener(new OnClickListener() {

				public void onClick(View v) {
					System.out.println("Iniciar encuesta!");
					encuestaActiva = true;
					mostrarEncuesta();
				}
			});
        } else {
        	lblNombreEncuesta.setText("No hay encuesta disponible.");
//            txtDescripcionEncuesta.setText("No disponible.");
//            txtFechaInicio.setText("No disponible.");
//            txtFechaFin.setText("No disponible.");
            
            TextView lblFechaInicio = (TextView) findViewById(R.id.txtFechaInicioTitulo);
    		TextView lblFechaFin = (TextView) findViewById(R.id.txtFechaFinTitulo);
    		
    		txtDescripcionEncuesta.setVisibility(View.GONE);
    		lblFechaInicio.setVisibility(View.GONE);
    		txtFechaInicio.setVisibility(View.GONE);
    		lblFechaFin.setVisibility(View.GONE);
    		txtFechaFin.setVisibility(View.GONE);
    		btnInicirEncuesta.setVisibility(View.GONE);
        }
	}
	
	public void mostrarEncuesta() {
		if (encuesta != null) {
			Intent intent = new Intent(EncuestaIntroScreen.this, EncuestaScreen.class);
			pasarDatos();
			startActivity(intent);
			overridePendingTransition(0, 0);
			finish();
			overridePendingTransition(0, 0);
		} else {
			encuestaActiva = false;
			mostrarIntro();
		}
	}
	
	public boolean realizoEncuesta() {
		//consultar a la BD si existe la combinación idEncuesta e idPunto.
		//encuesta.getId()		id encuesta
		//poi.getID();			id punto
		return encuesta.isRespondido();
	}
}